# @Timer:2022/3/28
# @作者:meng
# @文件名:fuc_log.py
import logging
import os

#定义公共日志输出函数
def get_log():
    '''定义日志处理函数'''

    file_name = os.path.basename(__file__)

    # 创建记录器
    logger = logging.getLogger(file_name)
    logger.setLevel(logging.INFO)

    # 创建控制器
    hander_file = logging.FileHandler(filename='log1.txt', encoding='utf-8')
    hander_file.setLevel(logging.INFO)

    # 创建一个格式器
    format_file = logging.Formatter('%(asctime)s - %(filename)s -%(funcName)s -%(lineno)d - %(levelname)s - %(message)s',
                                    datefmt='%Y%m%d-%H:%M:%S')

    # 添加格式器和控制器
    hander_file.setFormatter(format_file)
    logger.addHandler(hander_file)
    print(logger.handlers)
    return logger

#定义公共日志输出类
class yh_log:

    #实例方法
    def istlog(self):

        '''定义日志处理函数'''

        file_name = os.path.basename(__file__)

        #创建记录器
        logger = logging.getLogger(file_name)
        logger.setLevel(logging.INFO)

        #创建控制器
        hander_file = logging.FileHandler(filename='log1.txt',encoding='utf-8')
        hander_file.setLevel(logging.DEBUG)

        #创建一个格式器
        format_file = logging.Formatter('%(asctime)s - %(filename)s -%(lineno)d - %(levelname)s - %(message)s',datefmt='%Y%m%d-%H:%M:%S')

        #添加格式器和控制器
        hander_file.setFormatter(format_file)
        logger.addHandler(hander_file)
        # log_hande = logger.handlers
        # return [logger,log_hande]
        return logger

    #定义一个类方法
    @classmethod
    def clslog(cls):
        file_name = os.path.basename(__file__)

        # 创建记录器
        logger = logging.getLogger(file_name)
        logger.setLevel(logging.INFO)

        # 创建控制器
        hander_file = logging.FileHandler(filename='log1.txt', encoding='utf-8')
        hander_file.setLevel(logging.INFO)

        # 创建一个格式器
        format_file = logging.Formatter('%(asctime)s - %(filename)s -%(lineno)d - %(levelname)s - %(message)s',
                                        datefmt='%Y%m%d-%H:%M:%S')

        # 添加格式器和控制器
        hander_file.setFormatter(format_file)
        logger.addHandler(hander_file)

        return logger
